package com.android.listestagespersey;

import java.text.SimpleDateFormat;

public class Stage implements Comparable<Stage>{
	static SimpleDateFormat FORMATTER = 
		new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
	private String titre;
	private String nomEntreprise;
	private String lieu;
	private String description;
	private String datePub;
	
	public Stage copy(){
		Stage copy = new Stage();
		copy.titre = titre;
		copy.nomEntreprise = nomEntreprise;
		copy.lieu = lieu;
		copy.description = description;
		copy.datePub = datePub;
		return copy;
	}
	
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("Titre: ");
		sb.append(titre);
		sb.append('\n');
		sb.append("Nom de l'entreprise: ");
		sb.append(this.nomEntreprise);
		sb.append('\n');
		sb.append("Lieu: ");
		sb.append(lieu);
		sb.append('\n');
		sb.append("Description: ");
		sb.append(description);
		sb.append('\n');
		sb.append("Date de publication: ");
		sb.append(datePub);
		return sb.toString();
	}
	
	public int compareTo(Stage another) {
		if (another == null) return 1;
		// sort descending, most recent first
		return another.datePub.compareTo(datePub);
	}
	
	/**
	 * @return the titre
	 */
	public String getTitre() {
		return titre;
	}

	/**
	 * @param titre the titre to set
	 */
	public void setTitre(String titre) {
		this.titre = titre.trim();
	}

	/**
	 * @return the nomEntreprise
	 */
	public String getNomEntreprise() {
		return nomEntreprise;
	}

	/**
	 * @param nomEntreprise the nomEntreprise to set
	 */
	public void setNomEntreprise(String nomEntreprise) {
		this.nomEntreprise = nomEntreprise.trim();
	}

	/**
	 * @return the lieu
	 */
	public String getLieu() {
		return lieu;
	}

	/**
	 * @param lieu the lieu to set
	 */
	public void setLieu(String lieu) {
		this.lieu = lieu.trim();
	}

	/**
	 * @return the datePub
	 */
	public String getDatePub() {
		return datePub;
	}

	/**
	 * @param datePub the datePub to set
	 */
	public void setDatePub(String datePub) {
		this.datePub = datePub.trim();
	}

	/**
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description the description to set
	 */
	public void setDescription(String description) {
		this.description = description;
	}
}
